package com.amt.olcacon.service;

import com.amt.olcacon.bo.GetProcessTreeData;
import com.amt.olcacon.bo.GetRequestProcessInfo;
import com.amt.olcacon.bo.GetTaskReportEntities;
import com.amt.olcacon.entity.ProcessEntity;
import com.amt.olcacon.entity.TaskReportEntity;
import com.amt.olcacon.vo.GlobalResponse;
import com.amt.olcacon.vo.request.FlowRequest;
import com.amt.olcacon.vo.request.ProcessRequest;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface IProductProcessService {

    /**
     * excel导入工具
     */
    GlobalResponse<Boolean> importExcel(String filePath,String currentUser) throws IOException;

    GlobalResponse<Boolean> importExcelBatch(String filePath,String currentUser) throws IOException;

    /**
     * 校验excel数据
     */
    GlobalResponse<String> checkExcelData(String filePath);

    /**
     * 添加 process 树
     */
    GlobalResponse<Boolean> addProcessTree(Long taskId);

    GetTaskReportEntities getTaskReportEntities(Long taskId);

    List<FlowRequest> getFlowRequests(List<TaskReportEntity> taskReportEntity );

    List<ProcessRequest> getProcessRequests(List<TaskReportEntity> taskReportEntity, List<GetRequestProcessInfo> getRequestProcessInfoList);

    /**
     * 添加 process 树 脚本中使用
     */
    GlobalResponse<Boolean> addTree(GetProcessTreeData getProcessTreeData);


}
